ADO u Delphi-ju - tutorial

Autor: Burgos


Za početak uvek treba da imate svežu verziju ADO-a.
Skinite najnoviju verziju sa www.microsoft.com/data
I ukoliko imate Delphi i ono iznad možemo da se upustimo u nezaboravnu avanturu!

Pre nego što bilo šta uradimo sa bazom (osim što je napravimo) Prvo treba da vidimo kako da se povežemo sa povežemo. Napravite bazu podataka u Accessu sa tabelama tab_knjige i tab_clanovi. U tim tabelama kreirajte polja ID koje stavite kao primarno i kao Autonumber i Ime koje stavite kao string.

Pokrenite Delphi i otvorite novi form.

Za početak trebaće nam komponente:
DBGrid na DataControls component tabu - Služi da pregledavamo tabelu ili querije.

DataSource (DataAccess tab) služi da obezbedi vezu između table i DBGrida, i da omogući editovanje tabela.

I konačno ADOTable (ADO tab) koji predstavlja vezu između baze podataka i aplikacije.

Ako sada pritisnete F9 vedećete da u gridu nema ničega, to je naravno iz razloga jer se mi još nismo povezali sa bazom.

U object Inspectoru izmenite sledaće:

DBGrid1.DataSource = DataSource1
DataSource1.DataSet = ADOTable1

Sada treba da napravimo vezu. Ova veza pokazuje gde je tabela i kako da joj aplikacija pristupa. Kliknite svojstvo ConnectionString koje ćete naći u object inspectoru AdoTable komponente. Sada kliknite na tri tačkice i otvoriće vam se novi prozor.

Kada gradimo konekciju imamo dva izbora: da koristimo Data Link File (.UDL) ili da ručno izgradimo konekciju. Mi ćemo ručno da je kreiramo. Pritisnite Build dugme otvoriće vam se novi prozor. Provider tabvam omogućava da izaberete "provajdera". Odaberite Microsoft Jet 4.0 OLE DB Provider. Sada kliknite na Next. Kliknite na tri tačkice i pronadjite bazu koju ste napravili. Ukoliko ste napravili username i password za tablu unesite ga ispod.Kliknite na Test Connection i ukoliko je sve dobro delphi će vas obavestiti o tome. Sada kliknite na OK dva puta, da biste zatvorili sve prozore.

Ponovo se vraćamo na Object Inspectora. Podesite ovako:

ADOTable1.TableName = tab_knjige

Naravno tab_knjige možete zameniti imenom vaše tableu bazi podataka.


Ako želite da vidite podatke tokom rada sa bazom podesite svojstvo ADOTable Active property - na True!

To je bilo to za danas sutra nas očekuje nastavak: Kako da izmenimo, brišemo ili dodajemo podatke u bazi.
Nastavak
Otvorite ili napravite ako niste sačuvali apliakciju iz prethodnog posta, malo proširite formu i dodajte sledeće komponente.

<> DBNavigator komponentu (Data Controls tab). Ova komponenta sadrži dugmad potrebnu za navigaciju kroz bazu.

Sada iskoristite Object Inspector i postavite ovako svojstva:

DBNavigator1.DataSource = DataSource1

Fields
DBGrid služi za pregledanje baze (tabele). Iako se može koristiti za izmenu informacija bolje je da koristimo Field objekte.

Najlakši način da postavimo DBEdit na formu je sledeći:

1. Otvorite Fields editor duplim klikom na ADOTable komponentu.
2. Dodajte polja dako što ćete desnim dugmetom miša kliknuti na Field Editor, pritisnuti Add Fields i pritisnuti OK.
3. Izaberite neko polje, na primer tab_knjige i prevucite ga na formu.

Delphi automatski postavlja label iznad polja. Ukoliko pokrenete aplikaciju i izaberete neko polje u DBGridu u Fieldu će se automatski odgovarajuće polje iz tabele pojaviti gde ga možete menjati.

"Hodanje po tabeli"

Sada kada smo sve podesili trebaju nam alati za pomeranje po tabeli, dodavanje, brisanje ili otkazivanje promena tabeli.
To sve nam pruža DBNavigator. Na formu ga postavite sa Data Controls taba. U Object Inspectoru postavite vrednosti ovako:

DBNavigator1.DataSource = DataSource1

Pokrenite aplikaciju i eksperimentišite sa DBNavigatorom, mislim da vam ne trebam objašnjavati šta koje dugme radi!
Nastavak 2
U prethodnim lekcijama naučili smo kako da se povežemo sa bazom, pregledavamo

bazu i slično. Sada ćemo da vidimo kako da brišemo, dodajemo ili menjamo podatke

iz tabele bez DBGrida ili Field-ova.

Kao i obično napravite konekciju izmedju baze i aplikacije (ili samo otvorite aplikaciju iz

prethodnog posta).


Editing a record

Kod u programu bi izgledao ovako:

ADOTable1.Edit;
ADOTable1Ime.AsString := 'Knjiga';
ADOTable1.Post;


Da vam objasnim šta koji red znači:
U prvom redu tabla se stavlja u edit mod (znači ovaj red vam omogućava editovanje)
U drugom redu polje tabele Ime menja sa u string "Ime"
U trećem redu sa komandom "post" izmene se primenjuju na tabelu.

Napravite jedno dugme na formi i proceduri click unesite ovaj kod, pokrenite aplikaciju

i kliknite na dugme da shvatite.

Dodavanje novih podataka

Najlakši način da dodate vrednost u tablu je korišćenjem DBNavigatora, ali ako baš

hoćete da to uradite bez komponente, evo vam!

Kod

with ADOTable1 do begin
 Insert;
 FieldByName('Ime').Value := 'Orlovi rano lete';
 Post;
 end;



Objašnjenje

Insert; - - komanda koja ubacuje vrednost u ćeliju(e)
FieldByName('Ime').Value := 'Orlovi rano lete'; - ubacuje u ćeliju Ime

vrednost Orlovi rano lete
Post; - Primenjuje gornje na tabelu

Napomena:
Ukoliko želite da popunite više ćelija odjednom za sada morate da koristite

naredbu FieldByName više puta. Kasnije ćemo videti kako to možemo da

izbegnemo. Na primer
Kod

with ADOTable1 do begin
 Insert;
 FieldByName('Ime').Value := 'Orlovi rano lete';
 FieldByName('Pisac').Value := 'Branko Ćopić';
 FieldByName('Izdata').Value := '1979';
 Post;
 end;

 
Idemo dalje...

Preporučujem vam da skinete source programa odavde:

http://members.lycos.co.uk/satpass .

Danas ćemo naučiti kako da filtriramo podatke i kako da pretražujemo bazu.

**********************************************************
Filtriranje podataka
**********************************************************

Ukoliko želite da se prikažu samo neki delovi baze onda treba primeniti filtriranje

podataka. To se lako radi, samo treba da vidite kako, a evo kako:

Kod

ADOTable1.Filter := 'ID = 2';
ADOTable1.Filtered := true;


Da pojasnimo:
ADOTable1.Filter := 'ID = 2'; -- Ovo filtrira podatke: Traži u polju

ID vrednost 2 i prikazuje samo taj

rekord.
ADOTable1.Filtered := true; -- Bez ovoga ništa ne vredi, znači ne

primenjuje se filtriranje!


Ukoliko želite da filtrirate neki string moraćete to uraditi putem ove komande:
Kod

ADOTable1.Filter := 'Naziv = ' + QuotedStr(Edit1.Text);
ADOTable1.Filtered := true;


U čemu je fora? Fora je u QuotedStr. Videli ste njenu strukturu pa je koristite!

Dalje, u koliko želite da filtrirate više od jednog polja odjednom morate koristiti OR ili / i

AND. Kakva je struktura, pitate se sada. A ja vam dajem odgovor!!!!
Kod

ADOTable1.Filter := 'Naziv = ' + QuotedStr(Edit1.Text) 
    + ' AND ID < 5 OR Godina = 2003';
ADOTable1.Filtered := true;

PRETRAGA

Kako da pretražite bazu? Lako!
Ovako!

Kod

procedure TForm1.Edit7Change(Sender: TObject);
var searchstring : String ; polje: String;
begin
searchstring := Edit7.Text ;
polje := Edit8.Text;
ADOTable1.Locate(polje,searchstring ,[]) ;
end;

Ovo ne treba objašnjavati posebno samo da u poslednjem redu unutar [ ] treba da stoje opcije o kojima sada nećemo detaljno.
Sutra nas očekuje još posla pa zato se pripremite!
Filtriranje po pocetnom slovu:

Kod

    ADOTable1.Filter := 'Naziv_kolone  LIKE ' + QuotedStr(Edit1.Text + '%');
    ADOTable1.Filtered := true;

Sortiranje odredjene kolone:

Kod
ADOTable1.Sort:= 'Naziv_kolone ASC';



Brisanje reda u tabeli:

Kod
if not ADOTable1.Eof then
           begin
            ADOTable1.Delete;
            ADOTable1.FindFirst
           end
else
           ADOTable1.Delete;
           ShowMessage('Poslednji red u tabeli je izbrisan!');
           ADOTable1.First



Ovaj tutorial je preuzet sa EliteSecurity.org
 

stats

Hosted by T35 Free Web Hosting. Indian Bridal Makeup - Casino Review - Orange County BMW - Drug Rehab - Online Degree - Web Hosting - Prada Shoes - SEO Services